当 XMLHttpRequest 对象的 responseType 属性设置为 text 时,可以向服务器发送数据将是一个 text 对象。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>test</title>
// 创建 XMLHttpRequest 对象 // 参数:无;返回值: XMLHttpRequest 对象
function createXHR() { var XHR = [ // 兼容不同浏览器和版本的创建函数数组
function () { return new XMLHttpRequest(); }, function () { return new
ActiveXObject('Msxml2.XMLHTTP'); }, function () { return new
ActiveXObject('Msxml3.XMLHTTP'); }, function () { return new
ActiveXObject('Microsoft.XMLHTTP'); }, ]; var xhr = null; for (var i = 0; i
< XHR.length; i++) { // 尝试调用函数,如果成功则返回 XMLHttpRequest
对象,否则继续尝试 try { xhr = XHR[i](); } catch (e) { continue; //
如果发生异常,则继续下一个函数调用 } break; // 如果成功,则中止循环 } return
xhr; // 返回对象实例 } // 把 JSON 数据转换为串行字符串 // 参数: data
表示数组或对象类型数据;返回值:串行字符串 function JSONtoString(data) { var
a = []; // 临时数组 if (data.constructor == Array) { // 处理数组 for (var i
= 0; i < data.length; i++) { a.push(data[i].name + '=' +
encodeURIComponent(data[i].value)); } } else { // 处理对象 for (var i in
data) { a.push(i + '=' + encodeURIComponent(data[i])); } } return
a.join('&'); // 把数组转换为串行字符串,并返回 }
</head>
<body>
<input name="submit" type="button" id="submit" value=" 向服务器发出请求 " />
window.onload = function () { //页面初始化 var b =
document.getElementsByTagName('input')[0]; b.onclick = function () { var xhr
= createXHR(); // 实例化 XMLHttpRequest 对象 xhr.open('GET ', 'server.js ',
true); // 建立连接,要求异步响应 xhr.onreadystatechange = function () { //
绑定响应状态事件监听函数 if (xhr.readyState == 4) { // 监听 readyState 状态
if (xhr.status == 200 || xhr.status == 0) { // 监听 HTTP 状态码 var info =
xhr.responseText; var o = eval('(' + info + ')'); // 调用 eval() 把
JavaScript 字符串转换为本地脚本 console.log(info); //
显示响应的字符串,返回整个 JSON 对象字符串 console.log(o.user); //
读取对象属性值,返回字符串 "css8" } } }; xhr.send(); // 发送请求 }; };
</body>
</html>